package com.hopu.service.Login;

import com.hopu.entity.MyEmp;
import com.hopu.mapper.LoginMapper;
import com.hopu.util.HouseResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * @Package: com.hopu.service
 * @ClassName: LoginServiceImple
 * @Author: xiaoBao
 * @CreateTime: 2020/10/26 10:03
 * @Description:
 */
@Service("loginServiceImple")
public class LoginServiceImple implements LoginService{
    @Autowired  //引入LoginMapper动态接口（持久层）
    private LoginMapper loginMapper;


    /**
     * checkMyEname	【验证用户输入的账号是否存在】
     * @param emp	用户名；
     * @return 数据返回给表现层。
     */
    @Override
    public HouseResult<MyEmp> checkMyEname(MyEmp emp) {
        //调用Dao层业务逻辑查询账号是否存在
        MyEmp eName = loginMapper.checkMyEname(emp);

        if(eName == null) {
            //如果账号不存在，返回错误数据；
            return new HouseResult<MyEmp>(1,"账号不存在",null);
        }else {
            //将数据返回给表现层
            return new HouseResult<MyEmp>(0,"用户名正确",eName);
        }
    }


    /**
     * checkMyEmpByEnameAndEpsw	【登录验证功能】
     * @param emp 员工信息数据模型，用户名和密码；
     * @return	将持久层返回的数据库查询相关信息返回给表现层。
     */
    @Override
    public HouseResult<MyEmp> checkMyEmpByEnameAndEpsw(MyEmp emp) {
        //调用持久层层操作：根据用户名和密码查询员工信息，返回一个MyEmp对象；
        MyEmp myEmp = loginMapper.findMyEmpByEnameAndEpsw(emp);

        if(myEmp == null) {
            //如果返回的数据为空则表示账号密码错误
            return new HouseResult<MyEmp>(1,"用户名或密码错误",null);
        }

        /**账号密码正确返回相关数据给表现层*/
        return new HouseResult<MyEmp>(0,"登录成功",myEmp);
    }

}
